package io03;

import java.io.*;
import java.util.Scanner;

public class PWDemo2 {
    public static void main(String[] args) throws FileNotFoundException {
        //文件流(字节流，低级流)：将字节写入到文件中
        FileOutputStream fos = new FileOutputStream("pw.txt");
        //转换流(字符流，高级流)：1.负责衔接字符流与字节流 2.将写出的字符转换为字节再写出
        OutputStreamWriter osw = new OutputStreamWriter(fos);
        //缓冲字符流(字符流，高级流):块文本数据加速(内部缓冲区默认8192B(8kB)的char)
        BufferedWriter bw = new BufferedWriter(osw);
        //PrintWriter(字符流，高级流)：1.按行写出字符串 2.具有自动行刷新功能
        //构造器的第1个参数为流，第2个参数可以传入boolean类型的数据来表示是否打开自动刷新功能(flush)
        PrintWriter pw = new PrintWriter(bw,true);
        Scanner scan = new Scanner(System.in);
        System.out.println("请开始输入，单独输入exit时退出");
        while(true){
            String line = scan.nextLine();
            if("exit".equals(line)){
                break;
            }
            //pw.print(line); //不会自动调用flush()
            pw.println(line); //当开启自动行刷新后，每当调用println()方法写出一行后都会自动flush()
        }
        System.out.println("写入完毕！");
        pw.close();
    }
}
